The present invention relates generally to industrial controllers for the control of machines and processes, and in particular, to an industrial controller whose components communicate input and output signals over an Ethernet network.
Industrial controllers are special purpose computers and circuitry for the control of processes and machinery in a factory or the like. Generally, an industrial controller reads input signals from sensors associated with the controlled process and executes one or more stored control programs to provide output signals to actuators associated with the controlled process. The outputs are determined according to the logic of the stored control programs and the values of inputs received from the sensors.
The process being controlled may be spread over a large area, and the components of the industrial controller distributed so that each component is close to the portions of the process to which it relates. These separated components may communicate input and output signals (I/O) with each other as nodes on a high-speed network.
The network used for communication of I/O for industrial control should be “deterministic” meaning, generally, that it should provide tightly bounded communication delay in transmitting signals and predictable variations in delay, such as is termed “jitter”. Determinism helps ensure that the industrial controller will work in a repeatable manner when the controlled process is in the same state and providing the same inputs to the industrial controller at different times.
A number of commercially available networks can provide deterministic communication for industrial control; however, they are relatively expensive and have limited acceptance outside the area of industrial control. Ethernet, on the other hand, is a widely used network that provides high-speed performance with relatively low costs in hardware. Further, Ethernet supports Internet protocols and thus provides a simple method of interconnecting to remote points of using the Internet.
An industrial controller using an Ethernet network would have greater flexibility in communication, could avail itself of readily available and inexpensive network components, and could make use of existing network infrastructures.
Unfortunately, Ethernet is inherently non-deterministic because of its method of arbitrating between competing nodes that wish to transmit on the shared network medium. Each node can only transmit when no other node is transmitting, so if one node wishes to transmit while the medium is being used by another node, there will be an arbitrary delay in the transmission of that node's message as the node waits for the medium to become free. If two nodes transmit at the same time, both nodes will sense a collision and hold off retransmitting for a random time also introducing variable delay. The hold off time is not constant but increases with the number of successive collisions experienced by the nodes. Interference between nodes starts degrading network performance when the network is loaded with as little as 25% of its total capacity.
If separate Ethernet media are joined using a switch, additional sources of variable message delay are introduced as switches buffer or store messages intended for a single node that would otherwise result in a collision. The buffering introduces a delay that will substantially depend on network load.
Synchronized clocks at each node on the network can be used to overcome some problems of coordinating control actions between separated components of the industrial controller. For example, I/O messages may be time stamped to be re-ordered at their destination and output messages may be time stamped for a time of execution and thereby be somewhat indifferent to network delay. Co-pending U.S. patent application filed on even date herewith and entitled Fast Frequency Adjustment Method for Synchronization Network clocks, hereby incorporated by reference, describes a method of synchronizing clocks over a network that presents a relatively constant and predictable message delay. Nevertheless, large variation in network delay associated with non-deterministic networks such as Ethernet networks, can prevent accurate clock synchronization at the different network nodes.